377 research outputs found

    Hypothesis-based concept assignment to support software maintenance

    Get PDF
    Software comprehension is one of the most expensive activities in software maintenance and many tools have been developed to help the maintainer reduce the time and cost of the task. Of the numerous tools and methods available, one group has received relatively little attention: those using plausible reasoning to address the concept assignment problem. This problem is defined as the process of assigning descriptive terms to their implementation in source code, the terms being nominated by a user and usually relating to computational intent. It has two major research issues: Segmentation: finding the location and extent of concepts in the source code.Concept Binding', determining which concepts are implemented at these locations. This thesis presents a new concept assignment method: Hypothesis-Based Concept Assignment (HB-CA). A framework for the activity of software comprehension is defined using elements of psychological theory and software tools. In this context, HB-CA is presented as a successful concept assignment method for COBOL II, employing a simple knowledge base (the library) to model concepts, source code indicators, and inter-concept relationships. The library and source code are used to generate hypotheses on which segmentation and concept binding are performed. A two-part evaluation is presented using a prototype implementation of HB-CA. The first part shows that HB-CA has linear computational growth in the length of program under analysis. Other characteristics addressed include HB-CA's scalability, its applicability to other languages, the contribution made by different information sources, domain independence, representational power, and guidelines for the content of the library. The first part concludes by comparing the method and implementation to cognitive requirements for software comprehension tools. The second part considers applications of HB-CA in software maintenance. Five areas for potential cost reduction are identified: business-rule ripple analysis, code ripple analysis, module selection, software reuse, and software module comprehension

    Achieving ultra rapid evolution using service-based software

    Get PDF

    Analysing symbolic music with probabilistic grammars

    Get PDF
    Recent developments in computational linguistics offer ways to approach the analysis of musical structure by inducing probabilistic models (in the form of grammars) over a corpus of music. These can produce idiomatic sentences from a probabilistic model of the musical language and thus offer explanations of the musical structures they model. This chapter surveys historical and current work in musical analysis using grammars, based on computational linguistic approaches. We outline the theory of probabilistic grammars and illustrate their implementation in Prolog using PRISM. Our experiments on learning the probabilities for simple grammars from pitch sequences in two kinds of symbolic musical corpora are summarized. The results support our claim that probabilistic grammars are a promising framework for computational music analysis, but also indicate that further work is required to establish their superiority over Markov models

    Making Music-Making

    Get PDF

    Playing, Constructionism, and Music in Early-Stage Software Engineering Education

    Get PDF
    [EN] Understanding that design involves trade-offs, thinking at multiple levels of abstraction, and considering the cohesion and coupling between sub-components of a larger whole is an important part of software (and other) engineering. It can be challenging to convey such abstract design concepts to novice engineers, especially for materials that are themselves abstract (e.g. software). Such challenges are compounded when teaching at the secondary school stage where students have limited experience of large-scale design problems that motivate the need for abstraction at all. In this paper, we describe a method for introducing these concepts to secondary school students using LEGO® and Raspberry Pi computers, asking them to build musical instruments as an entertaining way of motivating engagement with learning about design through play. The method has been successfully piloted in a series of three classroom sessions and key observations and experiences of using the method are presented.This project received no external funding but was funded by the UCL Department of Computer Science Strategic Research FundGold, NE.; Purves, R.; Himonides, E. (2022). Playing, Constructionism, and Music in Early-Stage Software Engineering Education. Multidisciplinary Journal for Education, Social and Technological Sciences. 9(1):14-38. https://doi.org/10.4995/muse.2022.1645314389

    Allowing Overlapping Boundaries in Source Code using a Search Based Approach to Concept Binding

    Get PDF
    One approach to supporting program comprehension involves binding concepts to source code. Previously proposed approaches to concept binding have enforced nonoverlapping boundaries. However, real-world programs may contain overlapping concepts. This paper presents techniques to allow boundary overlap in the binding of concepts to source code. In order to allow boundaries to overlap, the concept binding problem is reformulated as a search problem. It is shown that the search space of overlapping concept bindings is exponentially large, indicating the suitability of sampling-based search algorithms. Hill climbing and genetic algorithms are introduced for sampling the space. The paper reports on experiments that apply these algorithms to 21 COBOL II programs taken from the commercial financial services sector. The results show that the genetic algorithm produces significantly better solutions than both the hill climber and random search

    NIME Principles & Code of Practice on Ethical Research

    Get PDF
    NIME upholds the highest ethical standards in research and artistic practice by recognising the importance of individual persons and data as an expression of personhood. These standards also include ethical values that are not always a concern of institutional research committees, including inclusivity, accessibility, animal rights, socio-economic fairness, and environmental awareness. The complete NIME Principles & Code of Practice on Ethical Research can be found at: www.nime.org/ethics

    Movement sonification expectancy model: leveraging musical expectancy theory to create movement-altering sonifications

    Get PDF
    When designing movement sonifications, their effect on people’s movement must be considered. Recent work has shown how real-time sonification can be designed to alter the way people move. However, the mechanisms through which these sonifications alter people’s expectations of their movement is not well explained. This is especially important when considering musical sonifications, to which people bring their own associations and musical expectation, and which can, in turn, alter their perception of the sonification. This paper presents a Movement Expectation Sonification Model, based on theories of motor-feedback and expectation, to explore how musical sonification can impact the way people perceive their movement. Secondly, we present a study that validates the predictions of this model by exploring how harmonic stability within sonification interacts with contextual cues in the environment to impact movement behaviour and perceptions. We show how musical expectancy can be built to either reward or encourage movement, and how such an effect is mediated through the presence of additional cues. This model offers a way for sonification designers to create movement sonifications that not only inform movement but can be used to encourage progress and reward successes

    Afterlife: the post-research affect and effect of software

    Get PDF
    Software plays an important role in contemporary research. Aside from its use for administering traditional instruments like surveys and in data analysis, the widespread use of mobile and web apps for social, medical and lifestyle engagement has led to software becoming a research intervention in its own right. For example, it is not unusual to find apps being studied for their utility as interventions in health and social life. Since the software may persist in use beyond the life of an investigation, this raises questions as to the extent of ethical duties for researchers involved in its production and/or study towards the participants involved. Key factors identified include the extent of affect created by the software, the effect it has on a participant’s life, the length of investigation, cost of maintenance and participant agency. In this article we discuss the issues raised in such situations, considering them in the context of post-research duties of care and suggesting strategies to balance the burden on researchers with the need for ongoing participant support
    corecore